/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved.
 */

package com.huawei.saashousekeeper.creator;

import com.huawei.saashousekeeper.constants.DbPoolEnum;
import com.huawei.saashousekeeper.properties.DataSourceProperty;

import javax.sql.DataSource;

/**
 * 创建数据源
 *
 * @author lWX1156935
 * @since 2022/4/22
 */
public interface DataSourceCreator {

    /**
     * 获取当前策略类型
     *
     * @return
     */
    DbPoolEnum getPoolType();

    /**
     * 通过属性创建数据源
     *
     * @param dataSourceProperty 数据源属性
     * @return 被创建的数据源
     */
    DataSource createDataSource(DataSourceProperty dataSourceProperty);
}
